package com.file_io;

import java.io.File;
import java.io.IOException;
import java.util.Date;

public class FileTest {
    public static void main(String[] args) throws IOException {
        String filePath = "D:/MyFolder";
        String fileName = "test.txt";
        File myFolder = new File(filePath);
        //文件夹不存在时创建文件夹
        if (!myFolder.exists()) {
            //myFolder.mkdir(); //创建当前目录
            myFolder.mkdirs();  //创建当前目录结构的所有目录

        }
        //文件不存在时创造文件
        File myFile = new File(filePath + "/" + fileName);
        if (!myFile.exists()) {
            myFile.createNewFile();//创建一个文件
        }
        System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>");
        System.out.println("文件绝对路径：" + myFile.getAbsolutePath());
        System.out.println("文件名称：" + myFile.getName());
        System.out.println("文件父节点：" + myFile.getParent());
        System.out.println("是文件夹吗" + myFile.isDirectory());
        System.out.println("是文件吗" + myFile.isFile());
        System.out.println("是隐藏吗" + myFile.isHidden());
        System.out.println("是可读吗" + myFile.canRead());
        System.out.println("是可写吗" + myFile.canWrite());
        System.out.println("是可执行吗" + myFile.canExecute());
        System.out.println("最后一次修改时间" + new Date(myFile.lastModified()));
        System.out.println("文件大小" + myFile.length());
        System.out.println("------------------------------------");
        //获取指定路径下所有文件或者文件夹file数组
        File[] allFilePath = myFolder.listFiles();
        System.out.println("文件：");
        for (File file : allFilePath) {
            if (file.isFile()) {
                System.out.println("\t" + file.getName());
            }
        }
        System.out.println("文件夹：");
        for (File file : allFilePath) {
            if (file.isDirectory()) {
                System.out.println("\t" + file.getName());
            }
        }
        File[] roots = myFile.listRoots();//取得所有根，如果是WINDOWS系统将获取所有磁盘
        for (int i = 0; i < roots.length; i++) {
            System.out.println(roots[i]);
            System.out.println("空闲时间" + roots[i].getFreeSpace());
            System.out.println("可用空间" + roots[i].getUsableSpace());
            System.out.println("总空间" + roots[i].getTotalSpace());
            System.out.println();
        }
        System.out.println("---------------------------------");
        myFile.delete();
        if (!myFile.exists()) {
            System.out.println("文件删除成功");
        }
        myFolder.delete();
        if (!myFolder.exists()) {
            System.out.println("文件夹删除成功");
        }

    }
}
/*import java.io.File;
import java.util.Date;

*//**
 * 在src根目录下创建FileInfo类，在该类的主方法中创建文件对象，通过File类的相关方法，获取文件的相关信息
 *
 * @author zch
 *
 *//*
        public class FileInfo {
            public static void main(String[] args) {

                String filePath = "src/com/zch/io/FileInfo.java";
                // 根据指定路径创建文件对象
                File file = new File(filePath);
                System.out.println("文件名称:" + file.getName());
                System.out.println("文件是否存在：" + file.exists());
                System.out.println("文件的相对路径：" + file.getPath());
                System.out.println("文件的绝对路径：" + file.getAbsolutePath());
                System.out.println("是否为可执行文件：" + file.canExecute());
                System.out.println("文件可以读取：" + file.canRead());
                System.out.println("文件可以写入：" + file.canWrite());
                System.out.println("文件上级路径：" + file.getParent());
                System.out.println("文件大小：" + file.length() + "B");
                System.out.println("文件最后修改时间：" + new Date(file.lastModified()));
                System.out.println("是否文件类型：" + file.isFile());
                System.out.println("是否为文件夹：" + file.isDirectory());

            }

        }







    }


}*/
